The present invention relates generally to machine diagnostics, and more specifically, to a system and method for processing historical repair data and fault log data for predicting one or more repairs from new fault log data from a malfunctioning machine.
A machine such as locomotive includes elaborate controls and sensors that generate faults when anomalous operating conditions of the locomotive are encountered. Typically, a field engineer will look at a fault log and determine whether a repair is necessary.
Approaches like neural networks, decision trees, etc., have been employed to learn over input data to provide prediction, classification, and function approximation capabilities in the context of diagnostics. Often, such approaches have required structured and relatively static and complete input data sets for learning, and have produced models that resist real-world interpretation.
Another approach, Case Based Reasoning (CBR), is based on the observation that experiential knowledge (memory of past experiences-or cases) is applicable to problem solving as learning rules or behaviors. CBR relies on relatively little pre-processing of raw knowledge, focusing instead on indexing, retrieval, reuse, and archival of cases. In the diagnostic context, a case refers to a problem/solution description pair that represents a diagnosis of a problem and an appropriate repair.
CBR assumes cases described by a fixed, known number of descriptive attributes. Conventional CBR systems assume a corpus of fully valid or xe2x80x9cgold standardxe2x80x9d cases that new incoming cases can be matched against.
U.S. Pat. No. 5,463,768 discloses an approach which uses error log data and assumes predefined cases with each case associating an input error log to a verified, unique diagnosis of a problem. In particular, a plurality of historical error logs are grouped into case sets of common malfunctions. From the group of case sets, common patterns, i.e., consecutive rows or strings of data, are labeled as a block. Blocks are used to characterize fault contribution for new error logs that are received in a diagnostic unit.
For a continuous fault code stream where any or all possible fault codes may occur from zero to any finite number of times and the fault codes may occur in any order, predefining the structure of a case is nearly impossible.
Therefore, there is a need for a system and method for analyzing new fault log data from a malfunctioning machine in which the system and method are not restricted to sequential occurrences of fault log entries, and wherein the system and method predict one or more repair actions using predetermined weighted repair and distinct fault cluster combinations.
The above-mentioned needs are met by the present invention which provides in one embodiment a system for analyzing fault log data from a malfunctioning machine. The system comprises receiving means for receiving new fault log data comprising a plurality of faults from the malfunctioning machine. Selecting means select a plurality of distinct faults from the new fault log data, and generating means generate at least one distinct fault cluster from the identified plurality of distinct faults. Thereafter, predicting means predict at least one repair for the at least one distinct fault cluster using a plurality of predetermined weighted repair and distinct fault cluster combinations.
The plurality of predetermined weighted repair and distinct fault cluster combinations may be determined by generating a plurality of cases from repair data and the fault log data. Each case comprises a repair and a plurality of distinct faults. Generating means generate, for each of the plurality of cases, at least one repair and distinct fault cluster combination, and assigning means assign, to each of the repair and distinct fault cluster combinations, a weight, wherein the assigned weights are determined by dividing the number of times the combination occurs in cases comprising related repairs by the number of times the combination occurs in the plurality of cases.
The system may also provide analysis of a stream of fault log data or daily download of fault log data having a plurality of faults occurring over a predetermined period of time from the malfunctioning machine. The system may further include means for determining at least one of a completed repair and a prior recommended repair occurring during the predetermined period of time. First selecting means selects a portion of the new fault log data which occurs after the at least one of the completed repair and the prior predicted repair. Second selecting means select a plurality of distinct faults from the selected portion of the fault log data, generating means generate at least one distinct fault cluster from the selected plurality of distinct faults, and predicting means predict at least one repair for the at least one distinct fault cluster using a plurality of predetermined weighted repair and distinct fault cluster combinations.